# -*- coding: utf-8 -*- 
# @project : 《Atcoder》
# @Author : created by bensonrachel on 2021/7/13
# @File : D. Fast search（CF）.py
# https://codeforces.com/edu/course/2/lesson/6/1/practice/contest/283911/problem/D

def bi_r(l,r,char,x):#有序序列中的不大于给定值的最大值
    while(l+1<r):
        mid = (l+r)//2
        if(char[mid]<x):
            l =mid
        else:
            r =mid
    return r

def bi_l(l,r,char,x):#有序序列中的不小于给定值的最小值
    while(l+1<r):
        mid = (l+r)//2
        if(char[mid]<=x):
            l =mid
        else:
            r =mid
    return l

def re(char:list,n,x,y):
    a = bi_l(-1,n,char,y)
    b = bi_r(-1,n,char,x)
    if(x == y and a != b and char[a] != x):#（*）后面经过宿舍讨论后，发现其实不需要特殊处理
        return 0
    else:
        return a-b+1
if __name__ == '__main__':
    N = int(input())
    rate = [int(i) for i in input().split()]
    rate.sort()
    K = int(input())
    for _ in range(K):
        l,r = map(int,input().split())
        res = re(rate,N,l,r)
        print(res,end=' ')
"""
思路：用给定范围的r的不大于r的最大值 减去 不小于l的最小值。
     一种需要特殊处理的情况就是，l、r相同且不在数组中 。(*)处。后面经过宿舍讨论后，发现其实不需要特殊处理
     这种情况就是直接输出0即可。
"""

